Because EML_UNAT may be cahnged by guest bank switch,
it should be saved&restored at entry & exit path.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
;;
mov ar.pfs=loc0
adds r20=PT(PR)+16,r12
+ adds r8=PT(EML_UNAT)+16,r12
+ ;;
+ ld8 r8=[r8]
+ ;;
+ mov ar.unat=r8
;;
lfetch [r20],PT(CR_IPSR)-PT(PR)
adds r2 = PT(B6)+16,r12
;; \
st8 [r24]=r9; /* ar.csd */ \
st8 [r25]=r10; /* ar.ssd */ \
- ;;
+ ;; \
+ mov r18=ar.unat; \
+ adds r19=PT(EML_UNAT)-PT(R4),r2; \
+ ;; \
+ st8 [r19]=r18; /* eml_unat */ \
+
#define VMX_SAVE_EXTRA \
.mem.offset 0,0; st8.spill [r2]=r4,16; \